/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package toolbox;

import business.Category;
import java.util.ArrayList;
import java.util.List;

/**
 * Classe statique chargée de mapper la classe obtenue par le web service client
 * avec la classes Category du package business
 * @author Thomas
 * @version 1.0
 * @see business.Category
 */
public class CategoryMgr {

    private static final proxy.Service1 service = new proxy.Service1();
    private static final proxy.IService1 port = service.getBasicHttpBindingIService1();

    /**
     * Interroge le web service et renvoie la liste des catégories
     * @return Liste de business.Category
     */
    public static List<business.Category> getList() {

        List<business.Category> categories = new ArrayList<Category>();
        for(proxy.Category proxyCategory : port.getCategoryList().getCategory()) {
            Category category = new Category(
                    proxyCategory.getCategoryID(),
                    proxyCategory.getName().getValue(),
                    proxyCategory.getDescription().getValue()
                );
            categories.add(category);
        }
        return categories;
    }

    /**
     * Interroge le web service et renvoie la catégorie dont l'ID correspond à l'entier passé en paramètre
     * @param categoryID ID de la catégorie à renvoyer
     * @return business.category
     */
    public static Category getCategory(int categoryID) {

        proxy.Category proxyCategory = port.getCategory(categoryID);
        return new Category(
                proxyCategory.getCategoryID(),
                proxyCategory.getName().getValue(),
                proxyCategory.getDescription().getValue()
            );
    }

}
